//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#ifndef _LigandEpitopeCompare_h__
#define	_LigandEpitopeCompare_h__
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#include "LigandEpitopeData.h"
#include "SMIData.h"
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
class LigandEpitopeCompare {
  
  private:
    
    String*                        filenameLigandEpitope;
    String*                        filenameLigandSMI;
    
    String*                        filenameOut;
    
    TListE <LigandEpitopeData>*    listLigandEpitopeData;
    TListE <SMIData>*              listLigands;
    
  protected:
  
    double                         ObtainLingoSim (char*, char*);
    
  public:
    
    LigandEpitopeCompare ();
    LigandEpitopeCompare (const LigandEpitopeCompare&);
    LigandEpitopeCompare (const LigandEpitopeCompare*);
    
    ~LigandEpitopeCompare ();

    void                           FilenameLigandEpitope (String*);
    void                           FilenameLigandSMI (String*);
    void                           FilenameOut (String*);
    void                           ListLigandEpitopeData (TListE <LigandEpitopeData>*);
    void                           ListLigands (TListE <SMIData>*);
    
    String*                        FilenameLigandEpitope (void);
    String*                        FilenameLigandSMI (void);
    String*                        FilenameOut (void);
    TListE <LigandEpitopeData>*    ListLigandEpitopeData (void);
    TListE <SMIData>*              ListLigands (void);
    
    bool                           LoadData (void);
    bool                           LoadDataSMI (void);
    bool                           ComputeLingoSim (void);
    bool                           ComputeLingoSimRandom (void);
    
    bool                           WriteResults (void);
    
    LigandEpitopeCompare           operator= (const LigandEpitopeCompare&);
    
    
};
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
#endif
//---------------------------------------------------------------------------------------------------------------------------------------------------------//
//---------------------------------------------------------------------------------------------------------------------------------------------------------//

